package testcase.app;

import org.json.JSONObject;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import api.app.UserCase;
import common.Host;
import common.TestData;

/**
 * 帮忙医APP获取体检报告解读UserCase接口测试用例
 * @author lipeng
 *
 */
public class TestUserCase
{
	/**
	 * 帮忙医APP获取体检报告解读UserCase接口测试环境数据驱动
	 * @return 测试数据
	 * @throws Exception
	 */
   @DataProvider(name = "Test")
   public static String[][] testUserCaseDataProvider()throws Exception{
	   Host.setup("Test");
	   TestData td = new TestData("app/TestUserCase.xml");
	   return td.getParam();
   }
   
   /**
    * 帮忙医APP获取体检报告解读UserCase接口
    * @param caseName   --用例名称
    * @param token      --token
    * @throws Exception
    */
   @Test (dataProvider="Test",groups={"Test"})
   public void testUserCaseTestCase(String caseName,String token)throws Exception{
	   
	   //调用接口并将接口返回数据转换成json格式
	   String result = UserCase.get(token);
	   JSONObject jsonResult;
	   if(result==null || result.isEmpty()){
		   jsonResult = null;
	   }
	   else {
		   jsonResult = new JSONObject(result);
	}
	   switch (caseName)
	{
		case "Success":
			Assert.assertEquals(jsonResult.getString("Data").isEmpty(), false); //接口返回Data字段是否为空	
			break;
        case "GetFailed":
        	Assert.assertNull(jsonResult); // 接口返回数据是否为空	
			break;	
		default:
			Assert.fail();
			break;
	}
   }
}
